1. Field of the Invention
The present invention relates to a system and method for extracting a corner point, and more particularly, to a system and method for extracting a corner point from an object in a space using pixel information obtained from an image acquisition device such as a camera.
2. Description of the Related Art
As recognition ability and determination ability have been added to a robot used in industrial sites to perform simple assembling or processes, the robot has been enabled to perform more advanced functions.
Moreover, unlike a stationary robot fixed in a certain place or installed in a preconfigured work environment, a mobile robot that can move by itself can be used in an extended work area such as an arbitrary work place or an outdoor place. Accordingly, the mobile robot is superior to the stationary robot since the mobile robot can play more various roles and perform more various tasks.
Robots are being used today to perform tasks in places such as the deep sea and nuclear power plants which are dangerous and difficult to approach for humans. Mobile robots need to have abilities to autonomously set a work path, detect obstacles, and avoid collision to move and perform tasks in places satisfactory information on which cannot be obtained in advance
Recently, simultaneous localization and mapping (SLAM) used by a robot to automatically build up a map within an unknown environment while at the same time keeping track of its current position has been researched and developed.
To perform SLAM, a mobile robot must have a function that extracts information usable to localization from an ambient environment.
To extract information, many methods using a visual sensor, an ultrasonic sensor, or a contact sensor have been used. In particular, a method using a visual sensor using a structured light such as a laser beam and a camera and a three-dimensional recognition algorithm is very effective since it does not require a burden of calculation and can be used in a place with rapid change in brightness.
In the method, light is emitted to an object in a predetermined form using an active vision system like a laser, and an image is acquired using a sensor like a camera. Thereafter, when a laser reflection point is captured in the image, a distance between a point from which a laser beam is emitted (referred to as a laser emission point) and the laser reflection point is calculated using a triangulation involving camera image coordinates of the captured point, a scanning angle at the moment of capturing, and a distance between the camera and the laser emission point. In the triangulation, a relationship among the laser emission point, the laser reflection point, and the distance between the laser emission point and the camera is converted into a geometrical, i.e., triangular, relationship to obtain a distance. The detailed description thereof is disclosed in the following reference “K. S. Fu, R. C. Gonzalez, and C. S. G. Lee, Robotics: Control, Sensing, Vision, and Intelligence, McGraw-Hill, pp 268-273, 1987”.
A method using the structured light is disclosed in the following reference ‘Y. Shirai, “Recognition of Polyhedrons with a Range Finder”, Pattern Recog, vol. 4, pp 243-250, 1972’, ‘R. J. Poppleston, C. M. Brown, A. P. Ambler, and G. F. Crawford, “Forming Model of Plane and Cylinder Faceted Bodies from Light Stripes”, Proc. Int. Joint Cont. Artificial Intell., pp 629-673, 1975’.
After obtaining distance data between the laser emission point and the laser reflection point, split-merge is performed on the distance data to extract a corner point which is important information used to localize a mobile robot.
FIG. 1 illustrates a conventional split-merge method.
In FIG. 1, a Z-direction is a direction of the distance from the laser emission point to an obstacle, i.e., a reflector that reflects a laser beam. Each point corresponds to distance data.
On a coordinate plane 100, two end points 110 and 112 are selected and a line 114 connecting the two end points 110 and 112 is obtained. Next, a distance between the line 114 and each point is measured. If the measured distance exceeds a predetermined threshold, a split occurs at the point.
For example, when a distance between a point 116 and the line 114 exceeds the predetermined threshold, as shown on a coordinate plane 120, two lines 122 and 124 from the point 116 to opposite end points are generated. Next, similarly to the above-described operation, a distance between each of the lines 122 and 124 and each point is measured and it is determined whether the measured distance exceeds a predetermined threshold.
If points 130 and 132 are located at a distance exceeding the predetermined threshold from the lines 122 and 124, a split occurs at each of the points 130 and 132. As a result, on a coordinate plane 140, four lines 142, 144, 146, and 148 appear. Next, a distance between each of the lines 142, 144, 146, and 148 and each point is measured and it is determined whether the measured distance exceeds a predetermined threshold. When there is no measured distance exceeding the predetermined threshold, splitting ends and merging begins.
In the merge, when any distance between continuous lines and each of points near the continuous lines does not exceed a predetermined threshold, a common line to the continuous lines is created.
For example, on a coordinate plane 160, a common line 162 to the lines 144 and 146 is created.
When split-merge is performed as illustrated in FIG. 1, corner points can be obtained from finally created lines. Here, the threshold used during the split-merge is usually proportional to the distance between the laser emission point and the laser reflection point. However, in this case, a corner may not be detected.
FIGS. 2A through 2C illustrate the extraction result of corner points using the above-described conventional split-merge method.
Referring to FIG. 2A, distance data are divided into two groups, i.e, group A and group B. Referring to FIG. 2B, splitting is performed on each group. However, the splitting is performed wrong. As a result, corner_0 is not detected as illustrated in FIG. 2C. This happens because the threshold is determined simply to be proportional to the distance between the laser emission point and the laser reflection point.
Therefore, to solve a problem that a corner point is not detected, a different method of determining a threshold is desired.